﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BoletoElectronicoDesktop.Login;
using BoletoElectronicoDesktop.AbmBeneficiarios;
using BoletoElectronicoDesktop.AbmClientes;
using BoletoElectronicoDesktop.AbmRol;
using BoletoElectronicoDesktop.AbmTarjetas;
using BoletoElectronicoDesktop.AbmUsuario;
using BoletoElectronicoDesktop.CargaCredito;
using BoletoElectronicoDesktop.PagoEmpresas;
using BoletoElectronicoDesktop.TarjetasPremium;
using BoletoElectronicoDesktop.Facturacion;
using BoletoElectronicoDesktop.InactividadTarjetas;




namespace BoletoElectronicoDesktop
{
    public partial class FormPrincipal : Form
    {
        //variable para salir del sistema
        public int salir = 1;

        public string usuario;


        public FormPrincipal()
        {
            //inicializa y abre el formulario de Login
            InitializeComponent();
            FormLogin login = new FormLogin();
            login.ShowDialog(this);
            salir = login.salirSistema;
            usuario = login.usuario;

        }

        private void FormPrincipal_Load(object sender, EventArgs e)
        {
            //si el usuario no se logguea, cierro la aplicacion
            if (salir == 0)
            {
                Close();
            }
            else //el usuario se loggueó correctamente
            {
                //abre el formulario maximizado en pantalla
                this.WindowState = FormWindowState.Maximized;
                
                //en principio todas las barras de menú ocultas
                aBMsToolStripMenuItem.Visible = false;                
                operacionesToolStripMenuItem.Visible = false;
                consultasToolStripMenuItem.Visible = false;

                aBMBeneficiarioToolStripMenuItem.Visible = false;
                aBMClienteToolStripMenuItem.Visible = false;
                aBMRolToolStripMenuItem.Visible = false;
                aBMTarjetaToolStripMenuItem.Visible = false;
                aBMUsuarioToolStripMenuItem.Visible = false;

                cargarCréditoToolStripMenuItem.Visible = false;
                pagoAEmpresasToolStripMenuItem.Visible = false;
                inactividadDeTarjetasToolStripMenuItem.Visible = false;
                facturaciónToolStripMenuItem.Visible = false;

                tarjetasPremiumToolStripMenuItem.Visible = false;

                //obtengo la lista de funcionalidades del usuario
                 DataTable funcionalidades = LoginDAO.ObtenerFuncionalidadesUsuario(usuario);
                 
                //comparo por cada una si el usuario lo tiene y muestro los menúes
                 for (int i = 0; i < funcionalidades.Rows.Count; i++)
                 {
                     string funcionalidad = funcionalidades.Rows[i][0].ToString().ToUpper();
                     if (string.Compare(funcionalidad, "ABM DE BENEFICIARIO") == 0)
                     {
                         aBMsToolStripMenuItem.Visible = true;
                         aBMBeneficiarioToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "ABM DE CLIENTE") == 0)
                     {
                         aBMsToolStripMenuItem.Visible = true;
                         aBMClienteToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "ABM DE ROL") == 0)
                     {
                         aBMsToolStripMenuItem.Visible = true;
                         aBMRolToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "ABM DE TARJETA") == 0)
                     {
                         aBMsToolStripMenuItem.Visible = true;
                         aBMTarjetaToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "ABM DE USUARIO") == 0)
                     {
                         aBMsToolStripMenuItem.Visible = true;
                         aBMUsuarioToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "CARGA DE CRÉDITO") == 0)
                     {
                         operacionesToolStripMenuItem.Visible = true;
                         cargarCréditoToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "FACTURACIÓN") == 0)
                     {
                         operacionesToolStripMenuItem.Visible = true;
                         facturaciónToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "PAGO A EMPRESAS") == 0)
                     {
                         operacionesToolStripMenuItem.Visible = true;
                         pagoAEmpresasToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "INACTIVIDAD DE TARJETAS") == 0)
                     {
                         operacionesToolStripMenuItem.Visible = true;
                         inactividadDeTarjetasToolStripMenuItem.Visible = true;
                     }
                     if (string.Compare(funcionalidad, "TARJETAS PREMIUM") == 0)
                     {
                         consultasToolStripMenuItem.Visible = true;
                         tarjetasPremiumToolStripMenuItem.Visible = true;
                     }

                 }//FIN FOR
                



            } //fin usuario bien loggueado
        }//fin form ppal

        private void aBMBeneficiarioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormAbmBeneficarios form = new FormAbmBeneficarios();
            form.ShowDialog(this);
        }

        private void aBMClienteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormAbmClientes form = new FormAbmClientes();
            form.ShowDialog(this);
        }




        private void aBMRolToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormAbmRol form = new FormAbmRol();
            form.ShowDialog(this);
        }



        private void aBMTarjetaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormAbmTarjetas form = new FormAbmTarjetas();
            form.ShowDialog(this);
        }

        private void aBMUsuarioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormAbmUsuario form = new FormAbmUsuario();
            form.ShowDialog(this);
        }

        private void cargarCréditoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormCargaCredito form = new FormCargaCredito();
            form.ShowDialog(this);
        }


        private void pagoAEmpresasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormPagoEmpresas form = new FormPagoEmpresas();
            form.ShowDialog(this);
        }



        private void tarjetasPremiumToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormTarjetasPremium form = new FormTarjetasPremium();
            form.ShowDialog(this);
        }

        private void inactividadDeTarjetasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormInactividadTarjetas form = new FormInactividadTarjetas();
            form.ShowDialog(this);
        }

        private void facturaciónToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormFacturacion form = new FormFacturacion();
            form.ShowDialog(this);
        }


    }
}
